home *** CD-ROM | disk | FTP | other *** search
/ Deep Throat Girls 2 / Deep Throat Girls 2.iso / title.mst < prev    next >
Text File  |  1994-10-25  |  11KB  |  392 lines

  1.     GLOBAL TitleShortName$
  2.     GLOBAL TitleLongName$
  3.     GLOBAL MVBFileName$
  4.     GLOBAL PromptForPath%
  5.     GLOBAL DefaultPath$
  6.     GLOBAL ProgManGroup$
  7.     GLOBAL ProgManItem$
  8.  
  9.     TitleShortName$ = "DTG2"
  10.     TitleLongName$ = "Deep Throat Girls II"
  11.     MVBFileName$ = "DTG2"
  12.             
  13.     PromptForPath% = 0
  14.         
  15.     DefaultPath$ = "c:\dtg2"
  16.     ProgManGroup$ = "Glowing Icon"
  17.     ProgManItem$ = "DTG2"
  18.     
  19.     GLOBAL CUIDLL$
  20.  
  21.     '' Include files
  22.     '$INCLUDE 'setupapi.inc'
  23.     
  24.     '' Custom UI dll
  25.     CUIDLL$ = "mscuistf.dll"
  26.     
  27.     '' Dialog ID's
  28.     CONST DESTPATH      = 1000
  29.     CONST APPHELP       = 2000
  30.     CONST TOOBIG        = 3000
  31.     CONST BADPATH       = 4000
  32.     CONST SUCCESS       = 5000
  33.     
  34.     '' Bitmap ID
  35.     CONST LOGO = 1
  36.     
  37.     '' Functions and subroutines
  38.     DECLARE FUNCTION AddFont LIB "mscuistf.dll" (szFont$, szName$) AS INTEGER
  39.     DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  40.     DECLARE FUNCTION GetTitleDir (szDefault$) AS STRING
  41.     DECLARE FUNCTION CopyFiles(szTitleDir$) AS INTEGER
  42.     DECLARE SUB RegisterFont(fontfile$, fontname$)
  43.     DECLARE SUB ModifyViewerIni
  44.     DECLARE SUB RegisterCustomFonts
  45.     DECLARE SUB ModifyProgramManager
  46.     DECLARE SUB ShowSuccess
  47.     DECLARE SUB RegisterDrivers
  48.     DECLARE SUB DoNoEvil
  49.     
  50.         
  51.     i% = SetSizeCheckMode(scmOff)
  52.     
  53.         
  54.     SetTitle "Glowing Icon's Deep Throat Girls II Setup"
  55.     SetBitmap CUIDLL$, LOGO 
  56.     
  57.     '' Read in the INF file.
  58.     
  59.     DoNoEvil
  60.  
  61.     ReadInfFile GetSymbolValue("STF_CWDDIR") + "TITLE.INF"
  62.     
  63.     '' Decide where to put title files
  64.     IF PromptForPath% = 1 THEN
  65.         szTitleDir$ = GetTitleDir(DefaultPath$)
  66.         IF szTitleDir$ = "" THEN
  67.             GOTO QUIT
  68.         ENDIF
  69.     ELSE
  70.         szTitleDir$ = GetWindowsDir()
  71.     ENDIF   
  72.     
  73.     '' Copy files
  74.     IF CopyFiles(szTitleDir$) = 0 THEN
  75.         GOTO QUIT
  76.     ENDIF
  77.     
  78.     ModifyViewerIni
  79.     ModifyProgramManager    
  80.     ShowSuccess
  81.     
  82.     j% = DoMsgBox("Be sure to Install Video for Windows 1.1!",TitleLongName$,0)
  83.  
  84.     j% = DoMsgBox("Restart Windows before playing!",TitleLongName$,0)
  85.  
  86.  
  87. QUIT:
  88.     
  89.     END
  90.     
  91.  
  92. '*************************************************************************
  93. '** Purpose:
  94. '**     Prompts the user for a path for the title files
  95. '** Arguments:
  96. '**     szDefault$ - default path
  97. '** Returns:
  98. '**     New valid path name, or "" if the user quit.
  99. '*************************************************************************
  100.  
  101. FUNCTION GetTitleDir (szDefault$) STATIC AS STRING
  102.  
  103.     SetSymbolValue "String", TitleShortName$
  104.     SetSymbolValue "EditTextIn", szDefault$
  105.     SetSymbolValue "EditFocus", "ALL"
  106.  
  107.     GETPATH:
  108.  
  109.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, "FHelpDlgProc")
  110.  
  111.     IF sz$ = "CONTINUE" THEN
  112.         szTitleDir$ = GetSymbolValue("EditTextOut")
  113.         IF IsDirWritable(szTitleDir$) = 0 THEN
  114.  
  115.             BADPATH:
  116.  
  117.             sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfoDlgProc", 0, "")
  118.             IF sz$ = "REACTIVATE" THEN
  119.                 GOTO BADPATH
  120.             END IF
  121.             UIPop 1
  122.             GOTO GETPATH
  123.         END IF
  124.         UIPop 1
  125.         CreateDir szTitleDir$, cmoNone
  126.  
  127.     ELSEIF sz$ = "REACTIVATE" THEN
  128.         GOTO GETPATH
  129.  
  130.     ELSE
  131.         szTitleDir$ = ""
  132.  
  133.     END IF
  134.  
  135.     GetTitleDir = szTitleDir$
  136.  
  137. END FUNCTION
  138.  
  139.  
  140. '*************************************************************************
  141. '** Purpose:
  142. '**     Copies the files in the INF file
  143. '** Arguments:
  144. '**     szTitleDir$ - destination directory for the title files
  145. '** Returns
  146. '**     1 if files were copied, 0 otherwise
  147. '*************************************************************************
  148.  
  149. FUNCTION CopyFiles(szTitleDir$) STATIC AS INTEGER
  150.  
  151.     '' Add all system files to the copy list
  152.     AddSectionFilesToCopyList "System Files", GetSymbolValue("STF_SRCDIR"), GetWindowsSysDir()
  153.     
  154.     '' Add all of the title files to the copy list
  155.     AddSectionFilesToCopyList "Installed Title Files", GetSymbolValue("STF_SRCDIR"), szTitleDir$
  156.     
  157.     '' Check size
  158.     szExtras$ = "Extra"
  159.     szCosts$ = "Costs"
  160.     szNeededs$ = "Neededs"
  161.     FOR i% = 1 TO 26 STEP 1
  162.         AddListItem szExtras$, "0"
  163.     NEXT i%
  164.     
  165.     '' We assume that VIEWER.INI will take another 4K
  166.     ReplaceListItem szExtras$, ASC(MID$(GetWindowsDir(), 1, 1)) - ASC("A") + 1, STR$(4096)
  167.     
  168.     '' Get amount of space required
  169.     StillNeed& = GetCopyListCost(szExtras$, szCosts$, szNeededs$)
  170.     
  171.     '' Put up a message if there is not enough space
  172.     FOR i% = 1 TO 26 STEP 1
  173.         IF VAL(GetListItem(szNeededs$, i%)) > 0 THEN
  174.     
  175.             SetSymbolValue "String1", LTRIM$(STR$(VAL(GetListItem(szCosts$, i%)) / 1024))
  176.             SetSymbolValue "String2", CHR$(i% - 1 + ASC("A"))
  177.     
  178.             TOOBIG:
  179.     
  180.             sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfoDlgProc", 0, "")
  181.             IF sz$ = "REACTIVATE" THEN
  182.                 GOTO TOOBIG
  183.             END IF
  184.             UIPop 1
  185.             CopyFiles = 0
  186.             GOTO DONTCOPY
  187.         END IF
  188.     NEXT i%
  189.     
  190.     '' Copy the files
  191.     CopyFilesInCopyList
  192.     
  193.     CopyFiles = 1
  194.  
  195. DONTCOPY:
  196.  
  197. END FUNCTION
  198.  
  199.  
  200. '*************************************************************************
  201. '** Purpose:
  202. '**     Puts up a success dialog
  203. '*************************************************************************
  204.  
  205. SUB ShowSuccess STATIC
  206.  
  207.     SUCCESS:
  208.     
  209.     SetSymbolValue "String1", TitleShortName$
  210.     sz$ = UIStartDlg(CUIDLL$, SUCCESS, "FInfoDlgProc", 0, "")
  211.     IF sz$ = "REACTIVATE" THEN
  212.         GOTO SUCCESS
  213.     END IF
  214.     UIPop 1
  215.     
  216. END SUB
  217. '*************************************************************************
  218. '** Purpose:
  219. '**     Assuage the User's fear of system destruction
  220. '*************************************************************************
  221.  
  222. SUB DoNoEvil STATIC
  223.  
  224. j% = DoMsgBox("This installation will not harm your system!", TitleLongName$, 0)
  225.     
  226. END SUB
  227.  
  228.  
  229. '*************************************************************************
  230. '** Purpose:
  231. '**     Appends a file name to the end of a directory path,
  232. '**     inserting a backslash character as needed.
  233. '** Arguments:
  234. '**     szDir$  - full directory path (with optional ending "\")
  235. '**     szFile$ - filename to append to directory
  236. '** Returns:
  237. '**     Resulting fully qualified path name.
  238. '*************************************************************************
  239.  
  240. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  241.     IF szDir$ = "" THEN
  242.         MakePath = szFile$
  243.     ELSEIF szFile$ = "" THEN
  244.         MakePath = szDir$
  245.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  246.         MakePath = szDir$ + szFile$
  247.     ELSE
  248.         MakePath = szDir$ + "\" + szFile$
  249.     END IF
  250. END FUNCTION
  251.  
  252.  
  253. '*************************************************************************
  254. '** Purpose:
  255. '**     Registers a font.
  256. '** Arguments:
  257. '**     fontfile$ - font filename
  258. '**     fontname$ - font name.
  259. '*************************************************************************
  260.  
  261. SUB RegisterFont(fontfile$, fontname$) STATIC
  262.  
  263.     '' A simple error catching wrapper around AddFont, which is a 'C' routine in MSCUISTF.DLL
  264.  
  265.     IF AddFont(fontfile$, fontname$) = -1 THEN
  266.         j% = DoMsgBox("Could not install " + fontfile$ + " font.", "Viewer Font Installation", 0)
  267.     ENDIF
  268.  
  269. END SUB
  270.  
  271.  
  272. '*************************************************************************
  273. '** Purpose:
  274. '**     Registers title in VIEWER.INI
  275. '*************************************************************************
  276.  
  277. SUB ModifyViewerIni STATIC
  278.  
  279.     '' Get the VIEWER.INI file
  280.               
  281.     szIni$ = MakePath(GetWindowsDir(), "WIN.INI")
  282.  
  283.     '' First register the title file, setting the Name and Path entries. 
  284.     '' We assume that the MVB file is the same directory as SETUP.EXE.
  285.     ''
  286.     '' CUSTOMIZATION: If you're installing multiple MVB files, copy the
  287.     '' following two statements for each additional file, substituting
  288.     '' the appropriate long name and MVB filename for the TitleLongName$
  289.     '' and MVBFileName$ variables.
  290.     
  291.     CreateIniKeyValue szIni$, MVBFileName$, "Name", TitleLongName$, cmoOverwrite
  292.     CreateIniKeyValue szIni$, MVBFileName$, "Path", GetSymbolValue("STF_SRCDIR"), cmoOverwrite
  293.     
  294.         
  295.  
  296. END SUB
  297.  
  298.  
  299. '*************************************************************************
  300. '** Purpose:
  301. '**     Creates program manager entries for the title
  302. '*************************************************************************
  303.  
  304. SUB ModifyProgramManager STATIC
  305.  
  306.     '' Create the program manager group
  307.  
  308.     szGork$ = GetSymbolValue("STF_SRCDIR")
  309.  
  310.     '' j% = DoMsgBox(szGork$, "Path Name", 0)
  311.  
  312.     CreateProgmanGroup ProgmanGroup$, "", cmoNone
  313.     ShowProgmanGroup ProgmanGroup$, 1, cmoNone
  314.     
  315.     '' Create an entry for the title
  316.      
  317.     '' [no icon] CreateProgmanItem ProgmanGroup$, ProgmanItem$, "mviewer2.exe " + MakePath(GetSymbolValue("STF_SRCDIR"), MVBFileName$ + ".MVB"), ",,,,szGork$", cmoOverwrite
  318.     
  319.     '' CUSTOMIZATION: 
  320.     ''
  321.     '' To create additional Program Manager items, copy the preceding 
  322.     '' statement for each additional item, substituting the appropriate
  323.     '' name for the MVBFileName$ variable.
  324.     ''
  325.     '' To display a custom icon with the Program Manager item, specify
  326.     '' the icon filename with the fourth parameter (this parameter is 
  327.     '' currently an empty string, ""). The following example specifies 
  328.     '' an icon with the same filename as the .MVB file:
  329.     ''
  330.     CreateProgmanItem ProgmanGroup$, ProgmanItem$, MakePath(GetSymbolValue("STF_SRCDIR"), MVBFileName$ + ".EXE"), MakePath(GetSymbolValue("STF_SRCDIR"), MVBFileName$ + ".ICO")+",0,0,0,"+szGork$, cmoOverwrite
  331.  
  332. END SUB
  333.  
  334.  
  335. '*************************************************************************
  336. '** Purpose:
  337. '**     Registers custom fonts with Windows.
  338. '*************************************************************************
  339.  
  340. SUB RegisterCustomFonts STATIC
  341.  
  342.     '' CUSTOMIZATION: If you install custom fonts, then add statements
  343.     '' in this routine to register the fonts with the current Windows 
  344.     '' session and to add them to the WIN.INI [Fonts] section. 
  345.     ''
  346.     '' Note that TrueType fonts can only be installed in Windows 3.1.
  347.     '' RegisterFont automatically creates the required .FOT file for 
  348.     '' TrueType fonts.
  349.     ''    
  350.     '' The following example registers a font residing in MISTRAL.TTF
  351.     '' and installs the font with the name Mistral (True Type):
  352.     '' 
  353.     ''     RegisterFont "mistral.ttf", "Mistral (TrueType)"
  354.     ''
  355.  
  356. END SUB
  357.  
  358.  
  359. '*************************************************************************
  360. '** Purpose:
  361. '**     Registers Windows drivers
  362. '*************************************************************************
  363.  
  364. SUB RegisterDrivers STATIC
  365.  
  366. '' CUSTOMIZATION: Video for Windows is not a standard component of
  367. '' Windows 3.1. If your title uses video, proceed as follows.
  368. ''
  369. '' 1) Add the following files to the [System Files] section of the INF file:
  370. ''
  371. ''    dispdib.dll
  372. ''    msvideo.dll
  373. ''    indeo.drv
  374. ''    mciavi.drv
  375. ''    msvidc.drv
  376. ''
  377. '' 2) Add the above files to your release directory. US versions can be 
  378. ''    found in the \SYSTEM subdirectory of your Viewer disc. French and
  379. ''    German versions were not available at ship time. Please contact 
  380. ''    Microsoft or check the Multimedia Viewer section on the Microsoft
  381. ''    Compuserve Forum for further details.
  382. ''
  383. '' 3) Uncomment the following lines:
  384. ''
  385. ''      CreateIniKeyValue "WIN.INI", "mci extensions", "AVI", "AVIVIDEO", cmoNone
  386. ''      CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "mci", "AVIVIDEO", "MCIAVI.DRV", cmoNone
  387. ''      CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "vidc.msvc", "msvidc.drv", cmoNone
  388. ''      CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "vidc.rt21", "indeo.drv", cmoNone
  389. ''      CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "vidc.cvid", "iccvid.drv", cmoNone
  390.  
  391. END SUB
  392.